package com.alaia.alaiacommondb.util;

import com.alaia.alaiacommondb.enums.DataSourceType;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * 用于数据源切换
 * @author kunlun
 * @create 2017年7月2日
 */
public class DataSourceHolder {
    public static final Logger log = LoggerFactory.getLogger(DataSourceHolder.class);


    //注意使用ThreadLocal，微服务下游建议使用信号量
    private static final ThreadLocal<DataSourceType> dataSourceKey = new ThreadLocal<>();

    //得到当前的数据库连接
    public static DataSourceType getDataSourceKey() {
        return dataSourceKey.get();
    }
    //设置当前的数据库连接
    public static void setDataSourceKey(DataSourceType type) {
        log.info("切换到{}数据源", type);
        dataSourceKey.set(type);
    }
    //清除当前的数据库连接
    public static void clearDataSourceKey() {
        dataSourceKey.remove();
    }


}